using System;
using System.Collections.Generic;
using ns26;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("Tutorial_01")]
	public class Tutorial_01 : TutorialEntity
	{
		public Notification endTurnNotifier => method_3<Notification>("endTurnNotifier");

		public Notification handBounceArrow => method_3<Notification>("handBounceArrow");

		public Notification handFadeArrow => method_3<Notification>("handFadeArrow");

		public Notification noFireballPopup => method_3<Notification>("noFireballPopup");

		public Notification attackWithYourMinion => method_3<Notification>("attackWithYourMinion");

		public Notification crushThisGnoll => method_3<Notification>("crushThisGnoll");

		public Notification freeCardsPopup => method_3<Notification>("freeCardsPopup");

		public TooltipPanel attackHelpPanel => method_3<TooltipPanel>("attackHelpPanel");

		public TooltipPanel healthHelpPanel => method_3<TooltipPanel>("healthHelpPanel");

		public Card mousedOverCard => method_3<Card>("mousedOverCard");

		public GameObject costLabel => method_3<GameObject>("costLabel");

		public GameObject attackLabel => method_3<GameObject>("attackLabel");

		public GameObject healthLabel => method_3<GameObject>("healthLabel");

		public Card firstMurlocCard => method_3<Card>("firstMurlocCard");

		public Card firstRaptorCard => method_3<Card>("firstRaptorCard");

		public int numTimesTextSwapStarted => method_2<int>("numTimesTextSwapStarted");

		public bool tooltipsDisabled => method_2<bool>("tooltipsDisabled");

		public string textToShowForAttackTip => method_4("textToShowForAttackTip");

		public GameObject startingPack => method_3<GameObject>("startingPack");

		public bool packOpened => method_2<bool>("packOpened");

		public bool announcerIsFinishedYapping => method_2<bool>("announcerIsFinishedYapping");

		public bool firstAttackFinished => method_2<bool>("firstAttackFinished");

		public bool m_jainaSpeaking => method_2<bool>("m_jainaSpeaking");

		public bool m_isShowingAttackHelpPanel => method_2<bool>("m_isShowingAttackHelpPanel");

		public Tutorial_01(IntPtr address, string className)
			: base(address, className)
		{
		}

		public Tutorial_01(IntPtr address)
			: this(address, "Tutorial_01")
		{
		}

		public new void PreloadAssets()
		{
			method_8("PreloadAssets");
		}

		public new void NotifyOfGameOver(TAG_PLAYSTATE gameResult)
		{
			method_8("NotifyOfGameOver", gameResult);
		}

		public void EnsureCardGemsAreOnTheCorrectLayer()
		{
			method_8("EnsureCardGemsAreOnTheCorrectLayer");
		}

		public new void NotifyOfCardGrabbed(Entity entity)
		{
			method_8("NotifyOfCardGrabbed", entity);
		}

		public new void NotifyOfCardDropped(Entity entity)
		{
			method_8("NotifyOfCardDropped", entity);
		}

		public new bool NotifyOfEndTurnButtonPushed()
		{
			return method_11<bool>("NotifyOfEndTurnButtonPushed", Array.Empty<object>());
		}

		public new void NotifyOfTargetModeCancelled()
		{
			method_8("NotifyOfTargetModeCancelled");
		}

		public new bool NotifyOfBattlefieldCardClicked(Entity clickedEntity, bool wasInTargetMode)
		{
			return method_11<bool>("NotifyOfBattlefieldCardClicked", new object[2] { clickedEntity, wasInTargetMode });
		}

		public new bool NotifyOfCardTooltipDisplayShow(Card card)
		{
			return method_11<bool>("NotifyOfCardTooltipDisplayShow", new object[1] { card });
		}

		public void ShowAttackTooltip(Card card)
		{
			method_8("ShowAttackTooltip", card);
		}

		public void ShowHealthTooltip(Card card)
		{
			method_8("ShowHealthTooltip", card);
		}

		public new void NotifyOfCardTooltipDisplayHide(Card card)
		{
			method_8("NotifyOfCardTooltipDisplayHide", card);
		}

		public void ManaLabelLoadedCallback(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("ManaLabelLoadedCallback", assetRef, go, callbackData);
		}

		public void AttackLabelLoadedCallback(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("AttackLabelLoadedCallback", assetRef, go, callbackData);
		}

		public void HealthLabelLoadedCallback(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("HealthLabelLoadedCallback", assetRef, go, callbackData);
		}

		public new void NotifyOfCardMousedOver(Entity mousedOverEntity)
		{
			method_8("NotifyOfCardMousedOver", mousedOverEntity);
		}

		public new void NotifyOfCardMousedOff(Entity mousedOffEntity)
		{
			method_8("NotifyOfCardMousedOff", mousedOffEntity);
		}

		public void NukeNumberLabels()
		{
			method_8("NukeNumberLabels");
		}

		public bool ShouldShowArrowOnCardInHand(Entity entity)
		{
			return method_11<bool>("ShouldShowArrowOnCardInHand", new object[1] { entity });
		}

		public void ShowHandBouncingArrow()
		{
			method_8("ShowHandBouncingArrow");
		}

		public void ShowHandFadeArrow()
		{
			method_8("ShowHandFadeArrow");
		}

		public void ShowFadeArrow(Card card, Card target)
		{
			method_8("ShowFadeArrow", card, target);
		}

		public void HideFadeArrow()
		{
			method_8("HideFadeArrow");
		}

		public void OnPhoneHandShown(object userData)
		{
			method_8("OnPhoneHandShown", userData);
		}

		public void OnPhoneHandHidden(object userData)
		{
			method_8("OnPhoneHandHidden", userData);
		}

		public void ShowAttackWithYourMinionPopup()
		{
			method_8("ShowAttackWithYourMinionPopup");
		}

		public void ShowEndTurnBouncingArrow()
		{
			method_8("ShowEndTurnBouncingArrow");
		}

		public void ShowDontFireballYourselfPopup(Vector3 origin)
		{
			method_8("ShowDontFireballYourselfPopup", origin);
		}

		public new bool ShouldDoAlternateMulliganIntro()
		{
			return method_11<bool>("ShouldDoAlternateMulliganIntro", Array.Empty<object>());
		}

		public new bool DoAlternateMulliganIntro()
		{
			return method_11<bool>("DoAlternateMulliganIntro", Array.Empty<object>());
		}

		public void PackLoadedCallback(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("PackLoadedCallback", assetRef, go, callbackData);
		}

		public new void NotifyOfGamePackOpened()
		{
			method_8("NotifyOfGamePackOpened");
		}

		public new void NotifyOfCustomIntroFinished()
		{
			method_8("NotifyOfCustomIntroFinished");
		}

		public new bool IsMouseOverDelayOverriden()
		{
			return method_11<bool>("IsMouseOverDelayOverriden", Array.Empty<object>());
		}

		public new bool AreTooltipsDisabled()
		{
			return method_11<bool>("AreTooltipsDisabled", Array.Empty<object>());
		}

		public new bool ShouldShowBigCard()
		{
			return method_11<bool>("ShouldShowBigCard", Array.Empty<object>());
		}

		public new void NotifyOfDefeatCoinAnimation()
		{
			method_8("NotifyOfDefeatCoinAnimation");
		}

		public new bool ShouldShowHeroTooltips()
		{
			return method_11<bool>("ShouldShowHeroTooltips", Array.Empty<object>());
		}

		public new List<RewardData> GetCustomRewards()
		{
			return method_14<Class271<RewardData>>("GetCustomRewards", Array.Empty<object>())?.method_25();
		}
	}
}
